home *** CD-ROM | disk | FTP | other *** search
/ Network Support Library / RoseWare - Network Support Library.iso / apidev / tpapi.exe / NWFSYST.PA1 < prev    next >
Text File  |  1994-01-14  |  15KB  |  249 lines

  1. {#Z+}
  2. (*(10U&l12D(s4099T&k2S*)
  3. {***************************************************************************}
  4. {** Program : NWFSYST                                                     **}
  5. {***************************************************************************}
  6. {** Version : 1.4             ** Started : 11/11/91  ** Ended :   /  /    **}
  7. {***************************************************************************}
  8. {******************************** Description ******************************}
  9. {***************************************************************************}
  10. {** OOP library for Netware API                                           **}
  11. {**                                                                       **}
  12. {** This unit forms the second level object : FILESYSTEM                  **}
  13. {** This object is a descandent of          : NETWARE                     **}
  14. {**                                                                       **}
  15. {**                                                                       **}
  16. {**                                                                       **}
  17. {**                                                                       **}
  18. {***************************************************************************}
  19. {******************************** Information ******************************}
  20. {***************************************************************************}
  21. {** Provides Netware Directory Services                                   **}
  22. {**                                                                       **}
  23. {**                                                                       **}
  24. {**                                                                       **}
  25. {** This code is (c) 1991 - 1994 Antonio Covelli. ALL RIGHTS RESERVED.    **}
  26. {** Portions (c) Novell Inc,                                              **}
  27. {**                                                                       **}
  28. {**                                                                       **}
  29. {***************************************************************************}
  30.  
  31. {$I NETWARE.INC}
  32. {#Z-}
  33.  
  34. UNIT NWFSYST;
  35.  
  36. INTERFACE
  37.  
  38. USES
  39.  
  40.   nwvar,
  41.   netware;
  42.  
  43. TYPE
  44.  
  45.   pFileSystemOBJ = ^FileSystemOBJ;
  46.   FileSystemOBJ = OBJECT (NetwareOBJ)
  47.  
  48.     function    AddExtFileDirectoryTrustee    (DirectoryHandle : byte; ObjectID : OT_BinderyID;
  49.                                                TrusteeRights : word; DirectoryPath : TPathName) : word;
  50.  
  51.     FUNCTION    AddTrusteeToDirectory         (DirectoryHandle : BYTE; DirectoryPath : TPathName;
  52.                                                ObjectID : OT_BinderyID; TrusteeRightsMask : BYTE) : WORD;
  53.  
  54.     FUNCTION    AllocPermanentDirectoryHandle (DirectoryHandle : BYTE; DirectoryPath : TPathName;
  55.                                                DriveLetter : CHAR; VAR NewDirectoryHandle,
  56.                                                EffectiveRightsMask : BYTE; MapDrive : boolean) : WORD;
  57.  
  58.     FUNCTION    AllocSpecialTemporaryDirectoryHandle (DirectoryHandle : BYTE; DirectoryPath : TPathName;
  59.                                                       DriveLetter : CHAR; VAR NewDirectoryHandle,
  60.                                                       EffectiveRightsMask : BYTE) : WORD;
  61.  
  62.     FUNCTION    AllocTemporaryDirectoryHandle (DirectoryHandle : BYTE;
  63.                                                DirectoryPath : TPathName;
  64.                                                DriveLetter : CHAR;
  65.                                                VAR NewDirectoryHandle,
  66.                                                EffectiveRightsMask : BYTE;
  67.                                                MapDrive : boolean) : WORD;
  68.     {The above function is in NETWARE.PAS}
  69.  
  70.     FUNCTION    ClearVolRestrictions          (ConnectionID : WORD; VolumeNumber : BYTE; ObjectID : OT_BinderyType) : WORD;
  71.  
  72.     FUNCTION    CreateDirectory               (DirectoryHandle : BYTE; DirectoryPath : TPathName;
  73.                                                MaximumRightsMask : BYTE) : WORD;
  74.  
  75.     FUNCTION    DeallocateDirectoryHandle     (DirectoryHandle : BYTE) : WORD;
  76.     {The above function is in NETWARE.PAS}
  77.  
  78.     FUNCTION    DeleteDirectory               (DirectoryHandle : BYTE; DirectoryPath : TPathName) : WORD;
  79.  
  80.     FUNCTION    DeleteTrustee                 (ConnectionID : WORD; DirectoryHandle : BYTE; DirectoryPath : TPathName;
  81.                                                ObjectID : OT_BinderyID) : WORD;
  82.  
  83.     FUNCTION    DeleteTrusteeFromDirectory    (DirectoryHandle : BYTE; DirectoryPath : TPathName;
  84.                                                ObjectID : OT_BinderyID) : WORD;
  85.  
  86.     FUNCTION    EraseFiles                    (DirectoryHandle : BYTE; DirectoryPath : TPathName;
  87.                                                SearchAttributes : BYTE) : WORD;
  88.  
  89.     FUNCTION    FileServerFileCopy            (VAR SourceFile, DestinationFile : FileOfByte; SourceFileOffset,
  90.                                                DestinationFileOffset, NumberOfBytesToCopy : LONGINT;
  91.                                                VAR NumberOfBytesCopied : LONGINT) : WORD;
  92.  
  93.     FUNCTION    GetCurrentDirectory           (DriveNumber : BYTE; VAR DirectoryPath : TPathName) : WORD;
  94.  
  95.     FUNCTION    GetDirectoryHandle            (DriveNumber : BYTE) : BYTE;
  96.     {The above function is in NETWARE.PAS}
  97.  
  98.     FUNCTION    GetDirectoryPath              (DirectoryHandle : BYTE; VAR DirectoryPath : TPathName) : WORD;
  99.     {The above function is in NETWARE.PAS}
  100.  
  101.     FUNCTION    GetDirEntry                   (ConnectionID : WORD; DirectoryHandle : BYTE;
  102.                                                VAR DirectoryEntry : NWDir_Entry) : WORD;
  103.  
  104.     FUNCTION    GetDirectoryInformation       (ConnectionID : WORD; DirectoryHandle : BYTE;
  105.                                                VAR DirectoryInfo : NWDir_Info) : WORD;
  106.  
  107.     FUNCTION    GetDriveInformation           (DriveNumber : BYTE; VAR ConnectionID : WORD; VAR DirectoryHandle : BYTE) : BYTE;
  108.     {The above function is in NETWARE.PAS}
  109.  
  110.     FUNCTION    GetEffectiveDirectoryRights   (DirectoryHandle : BYTE; DirectoryPath : TPathName;
  111.                                                VAR EffectiveRightsMask : BYTE) : WORD;
  112.  
  113.     FUNCTION    GetEffectiveRights            (ConnectionID : WORD; DirectoryHandle : BYTE;
  114.                                                DirectoryPath : TPathName; VAR TrusteeRights : WORD) : WORD;
  115.  
  116.     FUNCTION    GetExtendedFileAttributes     (FilePath : TPathName; VAR ExtendedFileAttributes : BYTE) : WORD;
  117.  
  118.     FUNCTION    GetObjectDiskRestrictions     (ConnectionID : WORD; VolumeNumber : BYTE; ObjectID : OT_BinderyID;
  119.                                                VAR VolumeRestriction, BlocksInUse : LONGINT) : WORD;
  120.  
  121.     PROCEDURE   GetSearchDriveVector          (VAR VectorBuffer : TByte17Array);
  122.  
  123.     FUNCTION    GetVolumeInformation          (ConnectionID : WORD; VolumeNumber : BYTE; StructureSize : WORD;
  124.                                                VAR VolumeStatistics : Volume_Stats) : WORD;
  125.  
  126.     FUNCTION    GetVolumeInfoWithHandle       (DirectoryHandle : BYTE; VAR VolumeName : TVolumeName;
  127.                                                VAR TotalBlocks, SectorsPerBlock, AvailableBlocks,
  128.                                                TotalDirectorySlots, AvailableDirectorySlots,
  129.                                                VolumeIsRemovable : WORD) : WORD;
  130.  
  131.     FUNCTION    GetVolumeInfoWithNumber       (VolumeNumber : BYTE; VAR VolumeName : TVolumeName;
  132.                                                VAR TotalBlocks, SectorsPerBlock, AvailableBlocks,
  133.                                                TotalDirectorySlots, AvailableDirectorySlots,
  134.                                                VolumeIsRemovable : WORD) : WORD;
  135.  
  136.     FUNCTION    GetVolumeName                 (VolumeNumber : BYTE; VAR VolumeName : TVolumeName) : WORD;
  137.  
  138.     FUNCTION    GetVolumeNumber               (VolumeName : TVolumeName; VAR VolumeNumber : BYTE) : WORD;
  139.  
  140.     FUNCTION    GetVolUsage                   (ConnectionID : WORD; VolumeNumber : BYTE;
  141.                                                VAR VolumeUsage : NWVol_Usage) : WORD;
  142.  
  143.     FUNCTION    IsSearchDrive                 (DriveLetter : CHAR) : WORD;
  144.  
  145.     FUNCTION    MapV2TrusteeRightsToV3        (TrusteeRights : BYTE) : LONGINT;
  146.  
  147.     FUNCTION    MapV3TrusteeRightsToV2        (TrusteeRights : LONGINT) : BYTE;
  148.  
  149.     FUNCTION    ModifyMaximumRightsMask       (DirectoryHandle : BYTE; DirectoryPath : TPathName;
  150.                                                RevokeRightsMask, GrantRightsMask : BYTE) : WORD;
  151.  
  152.     FUNCTION    PurgeAllErasedFiles : WORD;
  153.  
  154.     FUNCTION    PurgeErasedFiles : WORD;
  155.  
  156.     FUNCTION    PurgeSalvagableFile           (ConnectionID : WORD; DirectoryHandle : BYTE; EntryID : LONGINT;
  157.                                                FileName : TPathName) : WORD;
  158.  
  159.     FUNCTION    RecoverErasedFile             (DirectoryHandle : BYTE; VolumeName : TVolumeName;
  160.                                                VAR ErasedFileName, RestoredFileName : TFileName) : WORD;
  161.  
  162.     FUNCTION    RecoverSalvagableFile         (ConnectionID : WORD; DirectoryHandle : BYTE; EntryID : LONGINT;
  163.                                                FileName, NewFileName : TPathName) : WORD;
  164.  
  165.     FUNCTION    RenameDirectory               (DirectoryHandle : BYTE; DirectoryPath : TPathName;
  166.                                                NewDirectoryName : TDirectoryName) : WORD;
  167.  
  168.     FUNCTION    RestoreDirectoryHandle        (SaveBuffer : TByte14Array; VAR NewDirectoryHandle,
  169.                                                EffectiveRightsMask : BYTE) : WORD;
  170.  
  171.     FUNCTION    SaveDirectoryHandle           (DirectoryHandle : BYTE; VAR SaveBuffer : TByte14Array) : WORD;
  172.  
  173.  
  174.     FUNCTION    ScanBinderyObjectTrusteePaths (ObjectID : OT_BinderyID;
  175.                                                VolumeNumber : BYTE;
  176.                                                VAR SequenceNumber : WORD;
  177.                                                VAR TrusteeAccessMask : BYTE;
  178.                                                VAR TrusteePathName : TPathName) : WORD;
  179.     {The above function is in NETWARE.PAS}
  180.  
  181.     FUNCTION    ScanDirectoryForTrustees      (DirectoryHandle : BYTE; DirectoryPath : TPathName;
  182.                                                VAR SequenceNumber : WORD; VAR DirectoryName : TDirectoryName;
  183.                                                VAR CreationDateAndTime : TByte4Array; VAR OwnerID : OT_BinderyID;
  184.                                                VAR TrusteeIDs : TLongint5Array; VAR TrusteeRights : TByte5Array) : WORD;
  185.  
  186.     FUNCTION    ScanDirectoryInformation      (DirectoryHandle : BYTE; SearchDirectoryPath : TPathName;
  187.                                                VAR SequenceNumber : WORD; VAR DirectoryName : TDirectoryName;
  188.                                                VAR CreationDateAndTime : TByte4Array; VAR OwnerID : OT_BinderyID;
  189.                                                VAR MaximumRightsMask : BYTE) : WORD;
  190.  
  191.     FUNCTION    ScanDirEntry                  (ConnectionID : WORD; DirectoryHandle : BYTE; SearchPath : TPathName;
  192.                                                SearchAttributes : BYTE; VAR Sequence : LONGINT;
  193.                                                VAR DirectoryEntry : NWDir_Entry) : WORD;
  194.  
  195.     FUNCTION    ScanDirRestrictions           (ConnectionID : WORD; DirectoryHandle : BYTE; VAR OutBuffer;
  196.                                                NumberOfStructuresToReturn : BYTE) : WORD;
  197.  
  198.     function    ScanFileDirectoryExtTrustees  (DirectoryHandle : byte; var SequenceNumber : byte;
  199.                                                DirectoryPath : TPathName; var TrusteeIDs : TLongint20Array;
  200.                                                var TrusteeRights : TWord20Array) : word;
  201.  
  202.     FUNCTION    ScanFileEntry                 (ConnectionID : WORD; DirectoryHandle : BYTE; SearchPath : TPathName;
  203.                                                SearchAttributes : BYTE; VAR Sequence : LONGINT;
  204.                                                VAR FileEntry : NWFile_Entry) : WORD;
  205.  
  206.     FUNCTION    ScanFileInformation           (DirectoryHandle : BYTE; FilePath : TPathName; SearchAttributes : BYTE;
  207.                                                VAR SequenceNumber : INTEGER; VAR FileName : TFileName;
  208.                                                VAR FileAttributes, ExtendedFileAttributes : BYTE; VAR SizeOfFile : LONGINT;
  209.                                                VAR CreationDate, LastAccessDate : WORD; VAR LastUpdateDateAndTime,
  210.                                                LastArchiveDateAndTime : LONGINT; VAR FileOwnerID : OT_BinderyID) : WORD;
  211.  
  212.     FUNCTION    ScanFilePhysical              (ConnectionID : WORD; DirectoryHandle : BYTE; SearchPath : TPathName;
  213.                                                SearchAttributes : BYTE; VAR Sequence : LONGINT;
  214.                                                VAR FileEntry : NWPhys_Entry) : WORD;
  215.  
  216.     FUNCTION    ScanSalvagableFiles           (ConnectionID : WORD; DirectoryHandle : BYTE; VAR EntryID : LONGINT;
  217.                                                VAR SalvEntry : NWSalv_Entry) : WORD;
  218.  
  219.     FUNCTION    SetDirectoryHandle            (SourceDirectoryHandle : BYTE; SourceDirectoryPath : TPathName;
  220.                                                TargetDirectoryHandle : BYTE) : WORD;
  221.  
  222.     FUNCTION    SetDirectoryInformation       (DirectoryHandle : BYTE; DirectoryPath : TPathName;
  223.                                                NewCreationDateAndTime : TByte4Array;
  224.                                                NewOwnerObjectID : OT_BinderyID; NewRightsMask : BYTE) : WORD;
  225.  
  226.     FUNCTION    SetDirRestriction             (ConnectionID : WORD; DirectoryHandle : BYTE;
  227.                                                Restriction : LONGINT) : WORD;
  228.  
  229.     FUNCTION    SetFileAttributes             (DirectoryHandle, SearchAttributes : byte;
  230.                                                Filepath : TPathName; FileAttributes : BYTE) : WORD;
  231.  
  232.     FUNCTION    SetFileExtendedAttributes     (DirectoryHandle, SearchAttributes : byte;
  233.                                                Filepath : TPathName; ExtendedFileAttributes : BYTE) : WORD;
  234.  
  235.     FUNCTION    SetFileInformation            (DirectoryHandle : BYTE; FilePath : TPathName; SearchAttributes,
  236.                                                FileAttributes, ExtendedFileAttributes : BYTE; CreationDate,
  237.                                                LastAccessDate : WORD; LastUpdateDateAndTime,
  238.                                                LastArchiveDateAndTime : LONGINT; FileOwnerID : OT_BinderyID) : WORD;
  239.  
  240.     PROCEDURE   SetSearchDriveVector          (VAR VectorBuffer : TByte17Array);
  241.  
  242.     FUNCTION    SetVolRestriction             (ConnectionID : WORD; VolumeNumber : BYTE; ObjectID : OT_BinderyID;
  243.                                                Restriction : LONGINT) : WORD;
  244.  
  245.     DESTRUCTOR  Done; VIRTUAL;
  246.  
  247.   END;
  248.  
  249.